package com.fowo.api.common.excel;

import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Repeatable;
import java.lang.annotation.Target;

import com.alibaba.excel.converters.AutoConverter;
import com.alibaba.excel.converters.Converter;

/*
 * 提供 ExcelProperty 的本地化版本
 */
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Repeatable(LocalExcelProperty.List.class)
@Inherited
public @interface LocalExcelProperty {
    /** 对应语种 */
    String[] lang();
    /** Excel 列标题 */
    String[] value() default {""};
    /** Excel 顺序索引 */
    int index() default -1;
    /** Excel 顺序权重 */
    int order() default Integer.MAX_VALUE;
    /** 值转换处理器类型 */
    Class<? extends Converter<?>> converter() default AutoConverter.class;

    /*
     * LocalExcelProperty 的配置列表
     */
    @Target(ElementType.FIELD)
    @Retention(RetentionPolicy.RUNTIME)
    @Inherited
    public @interface List {
        LocalExcelProperty[] value();
    }
}